EL

[tfs] Auto Ip! Detecta O Ip Sozinho! Testado!

Por eletross, 30 de dez. de 2008 em Linguagens de Programação

otserv
tibia
script
14
4.9k
eletrossE
30 de dezembro de 2008 às 10:26

Tudo bem pessoal?

 

Venho trazer este code do BlackKnight para o XTibia, ele é muito util e simples!

Testei no meu TFS Mystic Spirit Patch 22 e funciono perfeitamente!

Toda vez que vc abrir o executavel de seu servidor, ele muda o ip no config.lua automaticamente, para isso ele usa o arquivo getip.js, que funciona como um detector que diz qual ip da maquina!

 

Ao trabalho...

 

Em otserv.cpp

 

----------------------------

 

Abaixo de:

ip = g_config.getString(ConfigManager::IP);

 

Adicione:

    if(ip == ""){  
       system("cscript getip.js >ip.txt");
       char buffer[256];
       std::string buffer2;
       std::ifstream myfile ("ip.txt");
       if(myfile.is_open()){
           myfile.seekg (0, std::ios::end);
           int length = myfile.tellg();      
           myfile.seekg (length-17, std::ios::beg);        
           while (!myfile.eof()){               
               myfile.getline (buffer,256); 
               if(atoi(buffer) > 0 && atoi(buffer) <= 255)
                   buffer2 = buffer2 + buffer;
           }     
           ip = buffer2; 
       }
       else
           ip = "127.0.0.1";       
   }

 

Ficando assim:

	ip = g_config.getString(ConfigManager::IP);
    if(ip == ""){  
       system("cscript getip.js >ip.txt");
       char buffer[256];
       std::string buffer2;
       std::ifstream myfile ("ip.txt");
       if(myfile.is_open()){
           myfile.seekg (0, std::ios::end);
           int length = myfile.tellg();      
           myfile.seekg (length-17, std::ios::beg);        
           while (!myfile.eof()){               
               myfile.getline (buffer,256); 
               if(atoi(buffer) > 0 && atoi(buffer) <= 255)
                   buffer2 = buffer2 + buffer;
           }     
           ip = buffer2; 
       }
       else
           ip = "127.0.0.1";       
   }

 

----------------------------

 

Abaixo de:

#include <string>
#include <iostream>
#include <iomanip>

 

Adicione (se é que ja num esta adicionado)

#include <fstream>

 

Ficando assim:

#include <string>
#include <iostream>
#include <iomanip>
#include <fstream>

 

----------------------------

 

Compila!

 

----------------------------

 

Coloque seu novo executavel na pasta de seu ot, junto com ele coloque o arquivo getip.js que esta anexado ao tópico!

 

----------------------------

 

No arquivo Config.lua de seu servidor, deixe desde modo:

ip = ""

 

----------------------------

 

PRONTO, AGORA TODA VEZ QUE VOCÊ ABRIR SEU OTSERV, NUM VAI TER QUE FICAR FAZENDO AQUELA TAREFA CHATA DE TROCAR IP NO CONFIG.LUA! Quero alguns comentarios! Teh proxima pessoal!

getip.rar

Editado Dezembro 30 por Eletross

zimbitubaZ
30 de dezembro de 2008 às 15:38

LOL funfou direitinho aqui oO

kkkk vai roba minha vaga aqui heim... -.-

muito bom gostei... aprovado

dwhfmsD
30 de dezembro de 2008 às 18:26

Nun intendi! O que eu faço com esse arquivo? getip.js. Vc poderia colocar um link para download do Executavel já com essa função ae né?

 

Desculpem a burrisse é que eu sou maper entendo 0,1% de Programção

FoxKidsF
30 de dezembro de 2008 às 18:53

aonde eu acho otserv.cpp ? '-'

KydraiK
30 de dezembro de 2008 às 19:04

Gostei, com ip automatico não precisa mexer no config.lua, bom para os preguiçosos.

 

aonde eu acho otserv.cpp ? '-'

 

Nas souces do OT, veja os tutoriais de compilação q vc vai entender.

dwhfmsD
30 de dezembro de 2008 às 19:07

nun intendi como faz mais isso nen adianta muito ainda tem que mudar o IP fixo :(

FoxKidsF
30 de dezembro de 2008 às 19:50
Gostei, com ip automatico não precisa mexer no config.lua, bom para os preguiçosos.

 

 

 

Nas souces do OT, veja os tutoriais de compilação q vc vai entender.

Aonde tem esses tutoriais ? o.O

 

ainda não achei o otserv.cpp

KydraiK
30 de dezembro de 2008 às 19:59

OTServ > Tutoriais - OTserv > Tutoriais de Programação

 

Vc ñ achou pq, provavelmente, o ot q vc baixou é editado e o pessoal nunca quer liberar as sources quando eles editam.

 

nun intendi como faz mais isso nen adianta muito ainda tem que mudar o IP fixo :(

 

A única função disso é para quando vc tiver testando o ot, e quer q outras pessoas entrem, sem q vc precise ativar o ip fixo

eletrossE
31 de dezembro de 2008 às 01:41

Eu num so muito bom em programação x(

Faço oq posso para ajudar o xtibia!

 

Shynzo! Faz tutorial de skill, ml, lvl UP animados e colored spells para o tfs!

 

Teh mais e abração!

4 anos depois...
homembombahH
20 de abril de 2013 às 23:56

Vou testar e ja posto aqui, qualquer coisa REP +!

Editado Abril 20 por homembombah

drakylucasD
21 de abril de 2013 às 12:19

vc reviveu um topico de 5 anos atras pra falar q vai testar? ¬¬

2 semanas depois...
homembombahH
29 de abril de 2013 às 14:23

DrakyLucas , desculpa... mas estou com um problema parecido. E não foi esse script que me salvou.

 

O problema é o seguinte:

 

Aqui em casa a internet cai o server continua aberto mas os players não conectam. Queria um que já mudasse isso automaticamente sem eu precisar reiniciar o servidor.

2 anos depois...
16 de outubro de 2015 às 23:08

precizando compilar um sourcer e ela da erro me ajuda

3 anos depois...
TrecoT
11 de fevereiro de 2019 às 20:07

poxa desculpa reviver esse topico, mas o arquivo getip.rar ta corrompido vc pode me passar outro? consegui compilar certinho aqui oq vc disse.